En el contexto de la informática, una palabra es una cadena finita de bits que son manejados como un conjunto por la máquina. El tamaño o longitud de una palabra hace referencia al número de bits contenidos en ella, y es un aspecto muy importante al momento de diseñar una arquitectura de ordenadores.
El tamaño de una palabra se refleja en muchos aspectos de la estructura y las operaciones de las computadoras. La mayoría de los registros en un ordenador normalmente tienen el tamaño de la palabra. El valor numérico típico manipulado por un ordenador es probablemente el tamaño de palabra. La cantidad de datos transferidos entre la CPU del ordenador y el sistema de memoria a menudo es más de una palabra. Una dirección utilizada para designar una localización de memoria a menudo ocupa una palabra.
Los ordenadores modernos normalmente tienen un tamaño de palabra de 16, 32 o 64 bits. Muchos otros tamaños se han utilizado en el pasado, como 8, 9, 12, 18, 24, 36, 39, 40, 48 y 60 bits. El slab es uno de los ejemplos de uno de los primeros tamaños de palabra. Algunos de los primeros ordenadores eran decimales en vez de binarios, típicamente teniendo un tamaño de palabra de 10 o 12 dígitos decimales y algunos de los primeros ordenadores no tenían una longitud de palabra fija.
Algunas veces, el tamaño de una palabra se define para tener un valor particular por compatibilidad con los ordenadores anteriores. Los microprocesadores utilizados en ordenadores personales (por ejemplo, los Intel Pentium y los AMD Athlon) son un ejemplo de esto. Su arquitectura IA-32 es una extensión del diseño original del Intel 8086 que tenía un tamaño de palabra de 16 bits. Los procesadores IA-32 siguen soportando programas del 8086 (x86), así que el significado de "word" en el contexto IA-32 sigue siendo el mismo y se continua diciendo que son 16 bits, a pesar del hecho de que en la actualidad puede (y especialmente cuando el tamaño del operando por defecto es 32-bit) opera más como una máquina con un tamaño de palabra de 32 bits. Similarmente en la nueva arquitectura x86-64, una "palabra" sigue siendo 16 bits, aunque los operandos de 64-bit ("cuádruple palabra") sean más comunes.
Dependiendo de cómo se organiza un ordenador, las unidades de tamaño de palabra se pueden utilizar para:
- Números enteros: Los contenedores de valores numéricos enteros pueden estar disponibles en varios tamaños diferentes, pero uno de los tamaños disponibles casi siempre será la palabra. Los otros tamaños, suelen ser múltiplos o fracciones del tamaño de palabra. Los tamaños más pequeños normalmente se utilizan solo por eficiencia en la utilización de memoria, cuando se cargan en el procesador, sus valores normalmente son mayores, contenedores de tamaño palabra.
- Números en coma flotante: Los contenedores para valores numéricos en coma flotante son típicamente una palabra o un múltiplo de una palabra.
- Direcciones: Los contenedores para direcciones de memoria tienen que ser capaces de expresar el rango necesario de valores, pero no excesivamente grandes. A menudo el tamaño utilizado es el de la palabra pero puede ser un múltiplo o una fracción.
- Registros: Los registros son diseñados con un tamaño apropiado para el tipo de dato que almacenan, p.ej. enteros, números en coma flotante o direcciones. Muchas arquitecturas de computadores utilizan registros de "propósito general" que pueden albergar varios tipos de datos, estos registros se dimensionan para permitir los más grandes de estos tipos y el tamaño típico es el tamaño de palabra de la arquitectura.
- Transferencia memoria-procesador: Cuando el procesador lee del subsistema de memoria a un registro o escribe el valor de un registro en memoria, la cantidad de datos transferidos es a menudo una palabra. En los subsistemas de memoria simples, las palabras son transferidas sobre el bus de datos de memoria, que típicamente tiene un ancho de una palabra o media palabra. En los subsistemas de memoria que utilizan caché, la transferencia de tamaño palabra se produce entre el procesador y la caché de nivel uno, en los niveles más bajos de la jerarquía de memoria las grandes transferencias (con múltiplos de la longitud de palabra) son normalmente utilizadas.
- Resolución de unidades de dirección: Es una arquitectura dada, los sucesivos valores de direcciones designan sucesivas unidades de memoria. En muchos ordenadores, la unidad puede ser un carácter o una palabra (algunos han utilizado una resolución de bit). Si la unidad es una palabra, entonces se puede acceder a una gran suma de memoria utilizando una dirección de un tamaño dado. Por otra parte, si la unidad es un byte, se pueden direccionar caracteres individuales (p.ej. seleccionados durante la operación de memoria).
- Instrucciones: Las instrucciones máquina normalmente son fracciones o múltiplos de la longitud de palabra de la arquitectura. Esta es una elección natural ya que las instrucciones y los datos normalmente comparten el mismo subsistema de memoria.